﻿Imports System.Text
Public Class frmMaconha
    Inherits formPadrao


    Dim Sep As Char = ","
    Dim Nombre As Double
    Public WithEvents ucPreambulo As New ucPreambulo
    Private nomeDiretorio As String = Nothing
    Public WithEvents btnLimpar As System.Windows.Forms.Button
    Private registro As New registroVO
    Private mensagem As String
    Public ehMaconha As Boolean = Nothing
    Public ehCocaina As Boolean = Nothing
    Public ehEcstasy As Boolean = Nothing
    Public ehCrack As Boolean = Nothing
    Private PPI As Boolean = System.Configuration.ConfigurationManager.AppSettings("PPI")
    Private erroNivel As Integer = 0
    Private regInserido As New registroVO
    Private _ehPreliminar As Boolean = Nothing
    Private fracionar As Boolean = False
    Private drogasRelatorios As New Generic.List(Of drogaRelatorioVO)
    Private drogaRelatorio As New drogaRelatorioVO
    Private drogaRelatorioBo As New drogaRelatorioBO


    Public Property EHPRELIMINAR() As Boolean
        Get
            Return _ehPreliminar
        End Get
        Set(value As Boolean)
            _ehPreliminar = value
        End Set
    End Property

    Public Property getUcPreambulo() As ucPreambulo

        Get
            Return ucPreambulo

        End Get

        Set(ByVal value As ucPreambulo)
            ucPreambulo = value

        End Set

    End Property


    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        pnlDados.Controls.Add(ucPreambulo)

        If Not DesignMode Then
            Sep = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
            pnlDados.AutoSize = True

        End If
    End Sub




    Private Sub frmAvaliacao_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Try
            Me.WindowState = FormWindowState.Maximized
            generica.redimensionaControle(pnlDados)
            generica.redimensionaControle(pnlItens)
            ucPreambulo.ucPerito.Enabled = True

            ucPreambulo.selecionaIdTipoPericia = 16
            ucPreambulo.selecionaIdNatureza = ucPreambulo.ID_NATUREZA

            ucPreambulo.pnlNatureza.Enabled = False
            Me.ControlBox = False
            ucPreambulo.getVitima = "A saúde pública"
            grpDrogaIC.Visible = False
            ' ucPreambulo.getNaturezaDelito = "Art.  da Lei 11.343/06"

            If ehMaconha Then
                ucPreambulo.lblTitulo.Text = "CONSTATAÇÃO PRELIMINAR DE MACONHA"
            ElseIf ehCocaina Then
                ucPreambulo.lblTitulo.Text = "CONSTATAÇÃO PRELIMINAR DE COCAÍNA"
            ElseIf ehCrack Then
                ucPreambulo.lblTitulo.Text = "CONSTATAÇÃO PRELIMINAR DE CRACK"
            ElseIf ehEcstasy Then
                ucPreambulo.lblTitulo.Text = "CONSTATAÇÃO PRELIMINAR DE ECSTASY"
            End If


            If ehMaconha Then
                grpMaconha.Visible = True
                grpMaconha.Enabled = True
                grpCocaina.Visible = False
                grpCocaina.Enabled = False
                grpEcstasy.Visible = False
                grpEcstasy.Enabled = False

            ElseIf ehCocaina Or ehCrack Then
                grpMaconha.Visible = False
                grpMaconha.Enabled = False
                grpCocaina.Visible = True
                grpCocaina.Enabled = True
                grpEcstasy.Visible = False
                grpEcstasy.Enabled = False

            ElseIf ehEcstasy Then
                grpMaconha.Visible = False
                grpMaconha.Enabled = False
                grpCocaina.Visible = False
                grpCocaina.Enabled = False
                grpEcstasy.Visible = True
                grpEcstasy.Enabled = True
            End If

            If PPI Then
                rdSim.Checked = True
            Else
                rdSim.Checked = False
            End If

        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    '--------------------------------------------------------------------------------------------------------------------------------
    ' FUNÇÃO QUE IRÁ GERAR O LAUDO
    '--------------------------------------------------------------------------------------------------------------------------------
    Private Sub geraLaudo()

        generica.tempo = Now

        Dim oWordTemp As New WordAppl
        Dim registroBo As New registroBO
    
        '-----------------------------------------------------------------------------------------
        ' ABRE O ARQUIVO WORD
        '-----------------------------------------------------------------------------------------

        If registroGlobal.registroPincipal.ID_REGISTRO > 0 Or ucPreambulo.ehNovo Then

            pb.zeraContador()
            pb.stepBarra(10)
            pb.Visible = True
            pb.txtMensagem.Text = "Inserindo informações no banco de dados do sistema"

            '-----------------------------------------------------------------------------------------
            ' GRAVA REGISTRO NA BASE DE DADOS
            '-----------------------------------------------------------------------------------------
            pb.stepBarra(10)
            Try

                If generica.gravaBanco Then
                    Dim regBO As New registroBO
                    '------------------------------------------------------------------------------------
                    ' VERFICA SE É UM NOVO REGISTRO OU SE É UM REGISTRO JÁ ARMAZENADO NA BASE DE DADOS
                    '------------------------------------------------------------------------------------
                    pb.stepBarra(10, "Inserindo o registro na base de dados")
                    '-------------------------------------------------------------------------------
                    ' POPULA O ATRIBUTO MATERIALRECIBO DA TABELA REGISTRO
                    '-------------------------------------------------------------------------------
                    Dim textoProva As String = String.Empty

                    If fracionar Then

                        If Not cmbInvolucro.Text.Equals(String.Empty) Then
                            If cmbInvolucro.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                                textoProva = cmbInvolucro.Text & " nº " & txtInvolucroIC.Text
                            Else
                                textoProva = "01(UM) " & cmbInvolucro.Text
                            End If
                        End If
                        textoProva = textoProva & " + 01(UM) "
                        If Not cmbInvolucroAut.Text.Equals(String.Empty) Then
                            If cmbInvolucroAut.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                                textoProva = textoProva & cmbInvolucroAut.Text & " nº " & txtInvolucroAut.Text
                            Else
                                textoProva = textoProva & cmbInvolucroAut.Text
                            End If
                        End If


                    Else
                        If Not cmbInvolucro.Text.Equals(String.Empty) Then
                            If cmbInvolucro.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                                textoProva = "01 " & cmbInvolucro.Text & " nº " & txtInvolucroIC.Text
                            Else
                                textoProva = "01 " & cmbInvolucro.Text
                            End If
                        End If
                    End If
                    pb.stepBarra(10, "Obtendo o nome do diretório do arquivo")

                    Dim registroGravado As Integer

                    If registroGlobal.registroPincipal.ID_REGISTRO > 0 And registroGlobal.registroPincipal.GEROULAUDO = False Then

                        '-----------------------------------------------------------------------------------------
                        ' RETORNO O NOME DO DIRETORIO A SER CRIADO
                        '-----------------------------------------------------------------------------------------
                        nomeDiretorio = generica.retornaNomeDiretorio(ucPreambulo.getAno, _
                                                                   ucPreambulo.getNumeroLaudo, "CONSTATAÇÃO PRELIMINAR", ucPreambulo.getIndiciado, ucPreambulo.getVitima)

                        registroGravado = regBO.updateRegistro(registroGlobal.registroPincipal, _
                                                               textoProva.ToUpper, ucPreambulo.getIdPeritoSelecionado, _
                                                               nomeDiretorio, ucPreambulo)
                        pb.stepBarra(10, "Inserindo o registro na base de dados")
                        mensagem = (" O laudo n°" & registroGravado & " foi atualizado com sucesso na base de dados. Clique no ícone do WORD para visualizar o laudo.")
                        registroGlobal.registroPincipal = registroBo.getRegistroSimplificado(registroGravado, ucPreambulo.getAno)
                    Else

                        Dim reg As New registroVO
                        Dim ultimo As Integer = regBO.getUltimoRegistro
                        Dim registroTemporario As Integer = 0
                        If ultimo <> ucPreambulo.getNumeroLaudo Then
                            registroTemporario = ucPreambulo.getNumeroLaudo
                            ucPreambulo.getNumeroLaudo = ultimo
                        End If
                        '-----------------------------------------------------------------------------------------
                        ' RETORNO O NOME DO DIRETORIO A SER CRIADO
                        '-----------------------------------------------------------------------------------------
                        nomeDiretorio = generica.retornaNomeDiretorio(ucPreambulo.getAno, _
                                                                   ucPreambulo.getNumeroLaudo, "CONSTATAÇÃO PRELIMINAR", ucPreambulo.getIndiciado, ucPreambulo.getVitima)
                        reg = generica.populaRegistro(ucPreambulo, generica.retornaNomeArquivoCompleto(nomeDiretorio & ".doc", nomeDiretorio), textoProva)
                        registroGravado = regBO.insereRegistro(reg)
                        registroGlobal.registroPincipal = registroBo.getRegistroSimplificado(registroGravado, ucPreambulo.getAno)
                        If registroTemporario = 0 Then
                            mensagem = (" O laudo n°" & registroGlobal.registroPincipal.NUM_REGISTRO & " foi inserido com sucesso na base de dados. Clique no ícone do WORD para visualizar o laudo.")
                        Else
                            mensagem = (" O laudo n°" & ultimo & " foi inserido com sucesso na base de dados. O laudo não foi gravado com o número inicial " & registroTemporario & " pelo fato de outro usuário ter inserido este número de laudo no banco de dados. Clique no ícone do WORD para visualizar o laudo.")
                        End If
                        pb.stepBarra(10, "Verificando a consistência dos dados")
                    End If
                    '----------------------------------------------------------------------------------
                    ' INSERINDO AS INFORMAÇÕES NA TABELA DROGARELATORIO
                    '------------------------------------------------------------------------------
                    Dim regInserido As New registroVO
                    regInserido = registroBo.getRegistro(registroGravado, ucPreambulo.getAno)

                    drogaRelatorio.ID_REGISTRO = regInserido.ID_REGISTRO
                    If ehMaconha Then
                        drogaRelatorio.ID_DROGA = 1
                    ElseIf ehCocaina Then
                        drogaRelatorio.ID_DROGA = 2
                    ElseIf ehCrack Then
                        drogaRelatorio.ID_DROGA = 3
                    ElseIf ehEcstasy Then
                        drogaRelatorio.ID_DROGA = 5
                    End If

                    drogaRelatorio.MASSA = CDbl(txtPeso.Text)

                    If ehCrack Or ehCocaina Then



                        If rdTioPositivo.Checked And rdMeyerPositivo.Checked Then
                            drogaRelatorio.RESULTADO = True
                        Else
                            drogaRelatorio.RESULTADO = False
                        End If


                    ElseIf ehMaconha Then
                        If rdMaconhaPositivo.Checked Then
                            drogaRelatorio.RESULTADO = True
                        Else
                            drogaRelatorio.RESULTADO = False
                        End If

                    ElseIf ehEcstasy Then
                        If rdSimonPositivo.Checked Then
                            drogaRelatorio.RESULTADO = True
                        Else
                            drogaRelatorio.RESULTADO = False
                        End If
                    End If

                    drogasRelatorios.Add(drogaRelatorio)
                    drogaRelatorioBo.insereDrogaRelatorio(drogasRelatorios)
                    '------------------------------------------------------------------------------------
                    ' INSERE DADOS NA TABELA PONTUACAO
                    '------------------------------------------------------------------------------------

                    Dim pontuacaobo As New pontuacaoBO
                    Dim pontuacao As New pontuacaoVO
                    Dim i As Integer

                    Try
                        If ucPreambulo.ehNovo Then
                            With pontuacao
                                .USUARIO = New usuarioVO With {.ID_USUARIO = ucPreambulo.getIdPeritoSelecionado}
                                .REGISTRO = New registroVO With {.ID_REGISTRO = registroGlobal.registroPincipal.ID_REGISTRO}
                                .PONTUACAO = registroGlobal.registroPincipal.NATUREZA.PONTOS_ATENDIMENTO
                                .TIPO_OCORRENCIA = "ATENDIMENTO"
                                .DATA_ALTERACAO = Nothing
                            End With

                            i = pontuacaobo.inserePontuacao(pontuacao)

                        Else
                            i = pontuacaobo.upDatePontuacao(ucPreambulo.getIdPeritoSelecionado, registroGlobal.registroPincipal)
                        End If
                    Catch ex As Exception
                        generica.gravaErro(ex)
                        erroNivel = 2
                        Exit Sub
                    End Try
                Else
                    mensagem = ("O sistema está configurado para não gravar registros na base de dados do sistema de registro eletrônico. Para habilitar, clique em configurações > Configurar aplicação e marque a opção <<SIM>>>. Apenas o laudo de n° " & ucPreambulo.getNumeroLaudo & " será gerado. Clique no ícono do WORD para visualizar o documento.")
                End If

                    '-------------------------------------------------------------------------------------
                    ' INSERE DADOS ITENS DA TABELA NA BASE LOCAL
                    '-------------------------------------------------------------------------------------
            Catch ex As Exception
                generica.encerraProcessosWord()
                habilita(False, , False)
                generica.gravaErro(ex)
                erroNivel = 1
                Exit Sub
            End Try

            Try

                'VERSÃO ANTIGA SEM A PRESENÇA DO PPI - RETIRAR DEFINITIVAMENTE

                'If ehMaconha Then

                '    If Not rdSim.Checked Then
                '        oWordTemp.OpenModelo("maconha.dot")
                '    Else
                '        oWordTemp.OpenModelo("maconhaPPI.dot")

                '    End If

                'ElseIf ehCocaina Then

                '    If Not rdSim.Checked Then
                '        oWordTemp.OpenModelo("cocainaPPI.dot")
                '    Else
                '        oWordTemp.OpenModelo("cocaina.dot")

                '    End If

                'ElseIf ehCrack Then

                '    If Not rdSim.Checked Then
                '        oWordTemp.OpenModelo("crackPPI.dot")
                '    Else
                '        oWordTemp.OpenModelo("crack.dot")

                '    End If


                'ElseIf ehEcstasy Then

                '    If Not rdSim.Checked Then
                '        oWordTemp.OpenModelo("ecstasyPPI.dot")
                '    Else
                '        oWordTemp.OpenModelo("ecstasy.dot")

                '    End If

                'End If
                pb.stepBarra(10, "Selecionando o template da droga selecionada")
                If ehMaconha Then
                    oWordTemp.OpenModelo("maconha.dot")
                ElseIf ehCocaina Then
                    oWordTemp.OpenModelo("cocaina.dot")
                ElseIf ehCrack Then
                    oWordTemp.OpenModelo("crack.dot")
                ElseIf ehEcstasy Then
                    oWordTemp.OpenModelo("ecstasy.dot")
                End If


                Dim diretorio As String = System.Configuration.ConfigurationManager.AppSettings("dirTemplateword")
                oWordTemp.SaveAs(nomeDiretorio, nomeDiretorio & ".doc")
                oWordTemp.Quit()
                oWordTemp = Nothing
                '------------------------------------------------------------------------------------------------
                ' CRIA O PREMABULO
                '------------------------------------------------------------------------------------------------
                Dim oWord As New WordAppl
                oWord.Open(nomeDiretorio, nomeDiretorio & ".doc")
                oWord.criaPreambulo(ucPreambulo)

                '------------------------------------------------------------------------------------------------
                ' INSERE ITENS NA TABELA DO DOCUMENTO WORD
                '------------------------------------------------------------------------------------------------
                pb.stepBarra(10, "Inserindo as informações no documento " & nomeDiretorio & ".doc")

                '------------------------------------------------------------------------------------------------
                ' VERIFICA SE O EXAME DEU POSITIVO
                '------------------------------------------------------------------------------------------------

                If ehMaconha Then

                    If rdMaconhaPositivo.Checked Then
                        oWord.FindAndReplacement("<<conclusao>>", "identificando-a como: Cannabis Sativa L, popularmente conhecida como 'MACONHA'")
                    Else
                        oWord.FindAndReplacement("<<conclusao>>", "não sendo possível constatar a natureza(s) da(s) substância(s) examinada(s). Desta forma, o resultado do exame é inconclusivo ")
                        'oWord.FindAndReplacement("<<conclusao>>", "concluindo que a mesma não se comportou como: Cannabis Sativa L, popularmente conhecida como 'MACONHA ")
                    End If
                ElseIf ehCocaina Or ehCrack Then

                    If rdTioPositivo.Checked Then
                        oWord.FindAndReplacement("<<resTiocianto>>", "positivo")
                    Else
                        oWord.FindAndReplacement("<<resTiocianto>>", "negativo")
                    End If

                    If rdMeyerPositivo.Checked Then
                        oWord.FindAndReplacement("<<resMeyer>>", "positivo")
                    Else
                        oWord.FindAndReplacement("<<resMeyer>>", "negativo")
                    End If

                    If rdTioPositivo.Checked And rdMeyerPositivo.Checked Then
                        oWord.FindAndReplacement("<<conclusao>>", "Os ensaios preliminares na substância anteriormente descrita revelaram que o material analisado comportou-se como sendo COCAÍNA")
                        oWord.FindAndReplacement("<<conclusao2>>", String.Empty)
                    ElseIf rdTioNegativo.Checked And rdMeyerPositivo.Checked Then
                        oWord.FindAndReplacement("<<conclusao>>", "Os ensaios preliminares na substância anteriormente descrita revelaram-se inconclusivos,")
                        oWord.FindAndReplacement("<<conclusao2>>", " devendo o(s) material(is) submetido(s) a exames ser(em) encaminhado(s) ao laboratório para identificação da substância")
                    ElseIf rdTioPositivo.Checked And rdMeyerNegativo.Checked Or rdTioNegativo.Checked And rdMeyerNegativo.Checked Then
                        oWord.FindAndReplacement("<<conclusao>>", "Os ensaios preliminares na substância anteriormente descrita revelaram que o material analisado NÃO SE COMPORTOU COMO SENDO COCAÍNA")
                        oWord.FindAndReplacement("<<conclusao2>>", String.Empty)
                    End If

                ElseIf ehEcstasy Then

                    If rdSimonPositivo.Checked Then
                        oWord.FindAndReplacement("<<resSimon>>", "positivo")
                    Else
                        oWord.FindAndReplacement("<<resSimon>>", "negativo")
                    End If

                    If rdSimonPositivo.Checked Then
                        oWord.FindAndReplacement("<<conclusao>>", "Os ensaios preliminares na substância anteriormente descrita revelaram a presença de MDMA (ecstasy) no(s) comprimido(s) analisado(s)")
                        oWord.FindAndReplacement("<<conclusao2>>", String.Empty)
                    Else
                        oWord.FindAndReplacement("<<conclusao>>", "Os ensaios preliminares na substância anteriormente descrita revelaram que o material analisado NÃO revelou a presença de MDMA (ecstasy) no(s) comprimido(s) analisado(s)")
                        oWord.FindAndReplacement("<<conclusao2>>", String.Empty)

                    End If

                End If

                oWord.FindAndReplacement("<<embalagem>>", txtAcond.Text)

                'If txtPeso.Text.Equals("0,01") Or txtPeso.Text.Equals("1,00") Or txtPeso.Text.Equals("0,1") Or txtPeso.Text.Equals("1") Then
                '    oWord.FindAndReplacement("<<pesoTotal>>", generica.formataNumero(txtPeso.Text) & " grama")
                'Else
                '    oWord.FindAndReplacement("<<pesoTotal>>", generica.formataNumero(txtPeso.Text) & " gramas")
                'End If

                If txtPeso.Text.Equals("0,01") Or txtPeso.Text.Equals("1,00") Or txtPeso.Text.Equals("0,1") Or txtPeso.Text.Equals("1") Then
                    oWord.FindAndReplacement("<<pesoTotal>>", generica.extensoDecimalQuimicaLegal(txtPeso.Text))
                Else
                    oWord.FindAndReplacement("<<pesoTotal>>", generica.extensoDecimalQuimicaLegal(txtPeso.Text))
                End If


                Dim diferenca As Double = 0
                Dim encaminho As New StringBuilder

                If fracionar Then
                    oWord.FindAndReplacement("<<peso>>", (generica.formataNumero(txtPesoIC.Text)))
                    oWord.FindAndReplacement("<<extPeso>>", generica.extensoDecimalQuimicaLegal(CType(generica.formataNumero(txtPesoIC.Text), Double)).ToLower)
                    If CDbl(txtPesoIC.Text) = 1 Or CDbl(txtPesoIC.Text) = 0.01 Then
                        encaminho.Append(" da substância descrita acima segue em anexo a esta peça pericial em")
                    Else
                        encaminho.Append(" da substância descrita acima segue em anexo a esta peça pericial em")
                    End If
                    ' oWord.FindAndReplacement("<<encaminho>>", encaminho.ToString.ToLower)
                    If cmbInvolucro.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                        oWord.FindAndReplacement("<<encaminho>>", encaminho.ToString & " " & cmbInvolucro.Text & " nº " & txtInvolucroIC.Text & ".")
                        oWord.FindAndReplacement("<<involucro>>", String.Empty)
                    Else
                        oWord.FindAndReplacement("<<encaminho>>", encaminho.ToString & " " & cmbInvolucro.Text & " devidamente lacrado e rubricado por este(a) signatário(a).")
                        oWord.FindAndReplacement("<<involucro>>", String.Empty)
                    End If

                    diferenca = CType(txtPeso.Text, Double) - CType(txtPesoIC.Text, Double)
                    If cmbInvolucroAut.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                        oWord.FindAndReplacement("<<textoComplementar>>", "O restante do material " & generica.extensoDecimalQuimicaLegal(diferenca) & " ficará sob custódia da Autoridade requisitante armazenado em " & cmbInvolucroAut.Text & " nº " & txtInvolucroAut.Text & ".")
                    Else
                        oWord.FindAndReplacement("<<textoComplementar>>", "O restante do material " & generica.extensoDecimalQuimicaLegal(diferenca) & " ficará sob custódia da Autoridade requisitante armazenado em " & cmbInvolucroAut.Text & " assinado por este(a) signatário(a).")
                    End If

                    '   12, <<peso>> (<<extPeso>>) <<encaminho>> <<involucro>> <<textoComplementar>>



                Else

                    oWord.FindAndReplacement("<<peso>>", generica.formataNumero(txtPeso.Text))
                    oWord.FindAndReplacement("<<extPeso>>", generica.extensoDecimalQuimicaLegal(CType(generica.formataNumero(txtPeso.Text), Double)))
                    If CDbl(txtPeso.Text) = 1 Or CDbl(txtPeso.Text) = 0.01 Then
                        encaminho.Append(" da substância descrita acima segue em anexo a esta peça pericial em")
                    Else
                        encaminho.Append(" da substância descrita acima seguem em anexo a esta peça pericial em")
                    End If
                    oWord.FindAndReplacement("<<encaminho>>", encaminho.ToString.ToLower)
                    If cmbInvolucro.Text.ToUpper.Equals("INVÓLUCRO DE SEGURANÇA") Then
                        oWord.FindAndReplacement("<<involucro>>", cmbInvolucro.Text & " nº " & txtInvolucroIC.Text & ".")
                    Else
                        oWord.FindAndReplacement("<<involucro>>", cmbInvolucro.Text & " devidamente lacrado e rubricado por este(a) signatário(a).")
                    End If
                    oWord.FindAndReplacement("<<textoComplementar>>", "")
                End If

                pb.stepBarra(10, "Finalizando o documento")
                oWord.criaAssinatura(ucPreambulo)
                oWord.Save()
                oWord.Quit()
                oWord = Nothing
                pb.stepBarra(10, "Salvando o arquivo")

                '-----------------------------------------------------------------------------------------------------------------------
                ' CHAMA ROTINA PARA LIMPAR CAMPOS DO CONTROLE E DO DATAGRID VIEW
                '-----------------------------------------------------------------------------------------------------------------------

            Catch exc As Exception
                generica.encerraProcessosWord()
                generica.gravaErro(exc)
                erroNivel = 2
                Exit Sub
            End Try
        Else

            '----------------------------------------------------------------------------------------------------------------------------
            ' CASO SEJA UM ARQUIVO QUE JÁ SE ENCONTRA CADASTRADO NA BASE DE DADOS
            '----------------------------------------------------------------------------------------------------------------------------
            If registroGlobal.registroPincipal.ID_REGISTRO > 0 And registroGlobal.registroPincipal.GEROULAUDO Then
                habilita(False)
                mensagem = ("O laudo n° " & ucPreambulo.getNumeroLaudo & "/" & ucPreambulo.getAno & " já existe registrado na base de dados.Clique no ícone do WORD para visualizar o laudo.")
            Else
                mensagem = ("O laudo n° " & ucPreambulo.getNumeroLaudo & "/" & ucPreambulo.getAno & " não foi encontrado na base de dados.")
            End If
        End If
        MsgBox(mensagem)
    End Sub

    Private Sub habilita(ByVal habilita As Boolean, _
                           Optional ByVal habilitaBarra As Boolean = Nothing, _
                           Optional ByVal habilitaVerWord As Boolean = Nothing, _
                            Optional ByVal habilitaPainelItens As Boolean = Nothing, _
                            Optional ByVal habilitaNatureza As Boolean = Nothing, _
                            Optional ByVal habilitaGridIc As Boolean = Nothing, _
                            Optional ByVal habilitaGrupoSuperior As Boolean = Nothing)

        If Not IsNothing(habilitaVerWord) Then
            ucPreambulo.btnVerWord.Visible = habilitaVerWord
        End If

        ucPreambulo.btnGeraLaudo.Enabled = habilita
        ucPreambulo.habilitaCampos(habilita)
        ucPreambulo.selecionaIdTipoPericia = 16

        If _ehPreliminar Then
            ucPreambulo.selecionaIdNatureza = ucPreambulo.ID_NATUREZA
        Else
            ucPreambulo.selecionaIdNatureza = ucPreambulo.ID_NATUREZA
        End If

        ucPreambulo.pnlNatureza.Enabled = habilitaNatureza

        'If grpDrogaIC.Visible Then
        '    grpDrogaIC.Visible = habilitaGridIc
        'Else
        '    grpDrogaIC.Visible = Not habilitaGridIc
        'End If
        grpDrogaIC.Visible = habilitaGridIc

        If Not IsNothing(habilitaBarra) Then
            pb.Visible = habilitaBarra
            pb.zeraContador()
        End If

        If Not IsNothing(habilitaPainelItens) Then
            pnlItens.Enabled = habilitaPainelItens

        End If
    End Sub

    Private Sub btnGerarLaudo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim isOk As Boolean = False
        Try
            If (generica.validaCampos(ucPreambulo)) Then
                geraLaudo()
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub

    Private Sub btnLimpa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try
            ucPreambulo.limparCampos()
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub

    Private Sub btnWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try
            If registroGlobal.registroPincipal.NUM_REGISTRO > 0 And registroGlobal.registroPincipal.GEROULAUDO Then
                generica.visualizaWord(nomeDiretorio, nomeDiretorio & ".doc")
            Else
                generica.visualizaWord(nomeDiretorio, nomeDiretorio & ".doc")
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    Private Sub chamaEventoLimpaCampos(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ucPreambulo.onClickLimpaCampos
        Try
            ucPreambulo.limparCampos()
            limpaCampos()
            ucPreambulo.populaDados()
            habilita(True, False, False, True, False, False, True)
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    Private Sub chamaEventoGeraLaudo(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ucPreambulo.onClickGeraLaudo
        Try

            For Each controle In pnlItens.Controls
                erro.SetError(controle, String.Empty)
            Next

            'COPIAR ESTE TRECHO
            Dim regBO As New registroBO
            Dim registroVOTemp As New registroVO
            Dim novoRegistro As Integer = 0
            registroVOTemp = regBO.getRegistroSimplificado(ucPreambulo.getNumeroLaudo, ucPreambulo.getAno)

            If registroVOTemp.NUM_REGISTRO > 0 And registroVOTemp.GEROULAUDO And ucPreambulo.ehNovo Then
                novoRegistro = regBO.getUltimoRegistro
                MsgBox("Laundo n° " & registroVOTemp.NUM_REGISTRO & " já foi inserido na base de dados por outro usuário logado no sistema. O laudo será gerado com o número " & novoRegistro)
                ucPreambulo.getNumeroLaudo = novoRegistro

            ElseIf registroVOTemp.NUM_REGISTRO > 0 And registroVOTemp.GEROULAUDO Then
                MsgBox("Laundo n° " & registroVOTemp.NUM_REGISTRO & " já foi atualizado na base de dados por outro usuário logado no sistema.")
                Exit Sub
            End If

            'FIM DO TRECHO

            If (generica.validaCampos(ucPreambulo)) Then
                If validaCampos() Then
                    habilitaPainelInferior(False)
                    exibeInvolucro()
                End If
            End If

            'trecho antigo 23-12-2013
            'If (generica.validaCampos(ucPreambulo)) Then
            '    If validaCampos() Then
            '        pb.Visible = True
            '        generica.salvaPreambulo(ucPreambulo)
            '        geraLaudo()
            '        If erroNivel > 0 Then

            '            If generica.rollBack(registroGlobal.registroPincipal, nomeDiretorio, erroNivel, ucPreambulo.ehNovo, ucPreambulo) Then
            '                MsgBox("O sistema recuperou de um erro grave e nenhuma informação foi gravada. Para registrar um novo laudo, clique em novo laudo")
            '                erroNivel = 0
            '                ucPreambulo.btnLimpaCampos.PerformClick()
            '            End If

            '        Else
            '            ' ucPreambulo.txtDataEntrada.Enabled = False
            '            habilita(False, , True, False, False, True, False)
            '        End If
            '    End If
            'End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    Private Sub habilitaPainelInferior(ByVal habilita As Boolean)
        pnlItens.Enabled = habilita
    End Sub
    Private Sub exibeInvolucro()
        Try
            If rbSim.Checked Then
                pnlAutoridade.Visible = True
            Else
                pnlAutoridade.Visible = False
            End If
            pnlInvolucro.Visible = True
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub

    Private Function validaCampos() As Boolean
        'Dim ok As Boolean = False
        'Try
        '    If txtAcondicionamento.Text.Equals(String.Empty) Then

        '        erro.SetError(txtAcondicionamento, "Informe a quantidade da droga")
        '        Exit Try
        '    ElseIf txtPeso.Text.Equals(String.Empty) Then
        '        erro.SetError(txtPeso, "Informe a quantidade da droga")
        '        Exit Try
        '    ElseIf grpDrogaIC.Visible = True Then
        '        If txtPesoIC.Text.Equals(String.Empty) Then
        '            erro.SetError(txtPesoIC, "Informe a quantidade da droga")
        '        ElseIf CType(txtPesoIC.Text, Double) > CType(txtPeso.Text, Double) Then
        '            erro.SetError(txtPesoIC, "Quantidade encaminhada ao IC não pode ser maior que o peso total da droga")
        '        Else
        '            ok = True
        '        End If
        '    Else
        '        ok = True
        '    End If
        'Catch ex As Exception
        '    generica.gravaErro(ex)
        'End Try
        'Return ok

        Dim ok As Boolean = False
        Try
            If txtAcond.Text.Equals(String.Empty) Then
                erro.SetError(txtAcond, "Informe a forma de acondicionamento da droga.")
                Return False
            ElseIf txtPeso.Text.Equals(String.Empty) Then
                erro.SetError(txtPeso, "Informe o peso total da droga apreendida.")
                Return False
            ElseIf rbSim.Checked = True Then ' a droga é fracionada
                If txtPesoIC.Text.Equals(String.Empty) Then
                    erro.SetError(txtPesoIC, "Informe a quantidade a ser encaminhada para o IC")
                    Return False
                ElseIf CDbl(txtPeso.Text) < CDbl(txtPesoIC.Text) Then
                    erro.SetError(txtPesoIC, "A quantidade a ser encaminhada para o IC não pode ser maior que o peso total da droga")
                    Return False
                Else
                    Return True
                End If
            Else
                ok = True
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
        Return ok

    End Function

    Private Sub chamaEventoVisualizaWord(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ucPreambulo.onClickVisualizaWord
        Try

            If registroGlobal.registroPincipal.NUM_REGISTRO > 0 And registroGlobal.registroPincipal.GEROULAUDO Then
                generica.visualizaWord("", "", registroGlobal.registroPincipal.NOME_DIRETORIO)
            Else
                generica.visualizaWord(nomeDiretorio, nomeDiretorio & ".doc")
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub

    Private Sub chamaEventoNovoLaudo(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ucPreambulo.onClickNovoLaudo
        Try
            ucPreambulo.limparCampos()
            limpaCampos()
            ucPreambulo.populaDados()
            ucPreambulo.getVitima = "A saúde pública"
            habilita(True, False, False, True, False, False)
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    Public Sub chamaEventoBuscaLaudo(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ucPreambulo.onClickBuscaLaudo
        Try
            Dim itens_avaliacaoBO As New itens_avaliacaoBO

            If _ehPreliminar Then
                ucPreambulo.getIdNatureza = ucPreambulo.ID_NATUREZA
            Else
                ucPreambulo.getIdNatureza = ucPreambulo.ID_NATUREZA
            End If
            ucPreambulo.buscaDadosLaudo(ucPreambulo, Me.MdiParent)
            limpaCampos()
            If registroGlobal.registroPincipal.ID_REGISTRO > 0 And registroGlobal.registroPincipal.GEROULAUDO Then

                habilita(False, False, True, False, False)
            Else
                habilita(True, False, False, True, False, False, False)
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub
    Private Sub txtPesoIC_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPesoIC.KeyPress
        If Not (Char.IsNumber(e.KeyChar) Or e.KeyChar.Equals(Sep) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
    End Sub

    Private Sub txtInvolucro_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        If Not (Char.IsNumber(e.KeyChar) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
    End Sub
    Private Sub txtInvolucroIC_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        If Not (Char.IsNumber(e.KeyChar) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
    End Sub

    Private Sub txtPeso_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPeso.KeyPress
        If Not (Char.IsNumber(e.KeyChar) Or e.KeyChar.Equals(Sep) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
    End Sub

    Private Sub txtPeso_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtPeso.KeyUp

        'Dim fracionar As Boolean = False
        'If txtPeso.Text.Length > 0 Then
        '    If CType(txtPeso.Text, Double) > 10 And rdNao.Checked Then

        '        If MsgBox("Quantidade superior a 10 gramas. Deseja fracionar a quantidade ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

        '            fracionar = True
        '        End If

        '        If fracionar Then
        '            lblMensagem.Text = ("Quantidade superior a 10 gramas. Favor informar quantidade a ser encaminhada para o IC")
        '            lblMensagem.Visible = True
        '            grpDrogaIC.Visible = True
        '            grpDrogaIC.Enabled = True
        '            'If grpSuperior.Visible = True And rdSim.Checked Then
        '            '    grpDrogaIC.Visible = True
        '            '    grpDrogaIC.Enabled = True
        '            'Else
        '            '    grpDrogaIC.Visible = False
        '            '    grpDrogaIC.Enabled = False
        '            'End If
        '        Else
        '            lblMensagem.Text = String.Empty
        '            lblMensagem.Visible = False
        '            grpDrogaIC.Visible = False
        '        End If
        '    End If

        'End If
    End Sub

    Private Sub txtPesoIC_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPesoIC.Leave

        If Not txtPesoIC.Text.Equals(String.Empty) Then

            If CType(txtPesoIC.Text, Double) > CType(txtPeso.Text, Double) Then
                erro.SetError(txtPesoIC, "Quantidade encaminhada ao IC não pode ser maior que o peso total da droga")

            End If

        End If
    End Sub

    Private Sub txtPesoIC_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPesoIC.TextChanged
        If txtPesoIC.Text.Equals(String.Empty) Then
            erro.SetError(txtPesoIC, "Informe a quantidade da droga")
        Else
            erro.SetError(txtPesoIC, String.Empty)
        End If
    End Sub

    'Private Sub txtPeso_Leave(sender As Object, e As EventArgs) Handles txtPeso.Leave

    '    If txtPeso.Text.Length > 0 Then
    '        If CType(txtPeso.Text, Double) > 10 And rdNao.Checked Then

    '            If MsgBox("Quantidade superior a 10 gramas. Deseja fracionar a quantidade ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
    '                fracionar = True
    '            Else
    '                fracionar = False
    '            End If

    '            If fracionar Then
    '                grpDrogaIC.Visible = True
    '                grpDrogaIC.Enabled = True
    '            Else
    '                grpDrogaIC.Visible = False
    '            End If
    '        End If

    '    End If
    'End Sub

    Private Sub txtPeso_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPeso.TextChanged
        If txtPeso.Text.Equals(String.Empty) Then
            erro.SetError(txtPeso, "Informe a quantidade da droga")
        Else
            erro.SetError(txtPeso, String.Empty)
        End If
    End Sub


    Private Sub txtAcondicionamento_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAcondicionamento.TextChanged
        If txtAcondicionamento.Text.Equals(String.Empty) Then
            erro.SetError(txtAcondicionamento, "Informe a quantidade da droga")
        Else
            erro.SetError(txtAcondicionamento, String.Empty)
        End If
    End Sub
    Private Sub limpaCampos()
        Try
            For Each controle In pnlItens.Controls
                If TypeOf (controle) Is GroupBox Then
                    For Each ctrl In CType(controle, GroupBox).Controls
                        If TypeOf (ctrl) Is TextBox Then
                            CType(ctrl, TextBox).Text = String.Empty
                            erro.SetError(ctrl, String.Empty)
                        End If
                    Next
                End If
            Next

            If CType(System.Configuration.ConfigurationManager.AppSettings("PPI"), Boolean) Then
                rdSim.Checked = True
                rdNao.Checked = False
            Else
                rdSim.Checked = False
                rdNao.Checked = True
            End If
            rdSimonPositivo.Checked = True
            rdTioPositivo.Checked = True
            rdMeyerPositivo.Checked = True
            grpDrogaIC.Visible = False
            'grpDrogaIC.Enabled = False
            rbNao.Checked = True
            txtInvolucroAut.Text = String.Empty
            txtInvolucroIC.Text = String.Empty
            cmbInvolucro.SelectedIndex = -1
            cmbInvolucroAut.SelectedIndex = -1
            erro.SetError(cmbInvolucro, String.Empty)
            erro.SetError(cmbInvolucroAut, String.Empty)
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
    End Sub

    Private Sub rdMeyerPositivo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub rdMeyerNegativo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub rdNao_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdNao.CheckedChanged

        If rdNao.Checked Then
            If Not txtPeso.Text.Equals(String.Empty) Then
                If CType(txtPeso.Text, Double) > 10 Then
                    grpDrogaIC.Visible = True
                    grpDrogaIC.Enabled = True
                Else
                    grpDrogaIC.Visible = False
                    grpDrogaIC.Enabled = False
                End If
            End If
        Else
            grpDrogaIC.Visible = False
            grpDrogaIC.Enabled = False
        End If

    End Sub

    Private Sub rdSim_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If rdSim.Checked Then
            grpDrogaIC.Visible = True
            grpDrogaIC.Enabled = True
        Else
            grpDrogaIC.Visible = False
            grpDrogaIC.Enabled = False
        End If
    End Sub

    Private Sub TextboxNumeric_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)

        Dim nonNumberEntered As Boolean

        nonNumberEntered = True

        If (e.KeyChar >= Convert.ToChar(48) AndAlso e.KeyChar <= Convert.ToChar(57)) OrElse e.KeyChar = Convert.ToChar(8) OrElse e.KeyChar = Convert.ToChar(44) Then

            nonNumberEntered = False

        End If

        If nonNumberEntered = True Then

            ' Stop the character from being entered into the control

            ' since it is non-numerical.

            e.Handled = True

        Else

            e.Handled = False

        End If

    End Sub
    Private Sub cmdOk_Click(sender As Object, e As EventArgs) Handles cmdOk.Click
        pnlInvolucro.Visible = False
        If validaInvolucro() Then
            If (generica.validaCampos(ucPreambulo)) Then
                pb.Visible = True
                generica.salvaPreambulo(ucPreambulo)
                geraLaudo()
                If erroNivel > 0 Then
                    If generica.rollBack(registroGlobal.registroPincipal, nomeDiretorio, erroNivel, ucPreambulo.ehNovo, ucPreambulo, Nothing, ) Then
                        MsgBox("O sistema recuperou de um erro grave e nenhuma informação foi gravada. Para registrar um novo laudo, clique em novo laudo")
                        erroNivel = 0
                        ucPreambulo.btnLimpaCampos.PerformClick()
                    End If
                Else
                    ' ucPreambulo.txtDataEntrada.Enabled = False
                    habilita(False, , True, False, False, True, False)
                End If
            End If
        Else
            pnlInvolucro.Visible = True
        End If
    End Sub
    Private Function validaInvolucro() As Boolean

        Dim isOk As Boolean = False


        'Try


        '    If cmbInvolucro.Text.Equals(String.Empty) Then
        '        erro.SetError(cmbInvolucro, "Selecione a forma de acondicionamento")
        '    Else
        '        erro.SetError(cmbInvolucro, String.Empty)

        '        If cmbInvolucro.Text.Equals("invólucro de segurança") Then
        '            If txtInvolucroIC.Text.Equals(String.Empty) Then
        '                erro.SetError(txtInvolucroIC, "Campo obrigatório")
        '            Else
        '                erro.SetError(txtInvolucroIC, String.Empty)
        '                If fracionar Then
        '                    If cmbInvolucroAut.Text.Equals(String.Empty) Then
        '                        erro.SetError(cmbInvolucroAut, "Campo obrigatório")
        '                    Else
        '                        erro.SetError(cmbInvolucroAut, String.Empty)
        '                        If cmbInvolucroAut.Text.Equals("invólucro de segurança") Then
        '                            If txtInvolucroAut.Text.Equals(String.Empty) Then
        '                                erro.SetError(cmbInvolucroAut, "Campo obrigatório")
        '                            Else
        '                                erro.SetError(cmbInvolucroAut, String.Empty)
        '                                isOk = True
        '                            End If
        '                        End If
        '                    End If
        '                End If
        '                isOk = True
        '            End If

        '        Else

        '            isOk = True
        '        End If
        '    End If

        'Catch ex As Exception
        '    generica.gravaErro(ex)
        'End Try
        'Return isOk

        Try

            If cmbInvolucro.Text.Equals(String.Empty) Then
                erro.SetError(cmbInvolucro, "Campo obrigatório")
                Return False
            End If

            If cmbInvolucro.Text.Equals("invólucro de segurança") Then
                If txtInvolucroIC.Text.Equals(String.Empty) Then
                    erro.SetError(txtInvolucroIC, "Campo obrigatório")
                    Return False
                Else
                    erro.SetError(txtInvolucroIC, String.Empty)
                End If
            Else
                erro.SetError(cmbInvolucro, String.Empty)
            End If

            If fracionar Then
                If cmbInvolucroAut.Text.Equals(String.Empty) Then
                    erro.SetError(cmbInvolucroAut, "Campo obrigatório")
                    Return False
                End If

                If cmbInvolucroAut.Text.Equals("invólucro de segurança") Then
                    If txtInvolucroAut.Text.Equals(String.Empty) Then
                        erro.SetError(txtInvolucroAut, "Campo obrigatório")
                        Return False
                    Else
                        erro.SetError(txtInvolucroAut, String.Empty)
                    End If
                Else
                    erro.SetError(cmbInvolucroAut, String.Empty)
                End If
            End If
        Catch ex As Exception
            generica.gravaErro(ex)
        End Try
        Return True
    End Function

    Private Sub cmbInvolucro_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbInvolucro.SelectedIndexChanged
        If cmbInvolucro.Text.Equals("invólucro de segurança") Then

            txtInvolucroIC.Visible = True
            lbIc.Visible = True
            pnlAutoridade.Visible = False

            If fracionar Then
                pnlAutoridade.Visible = True
            Else
                pnlAutoridade.Visible = False
            End If

        Else

            txtInvolucroIC.Visible = False
            lbIc.Visible = False
        End If

        If cmbInvolucro.Text.Equals(String.Empty) Then
            erro.SetError(cmbInvolucro, "Campo obrigatório")
        Else
            erro.SetError(cmbInvolucro, String.Empty)
        End If

    End Sub
    Private Sub cmbInvolucroAut_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbInvolucroAut.SelectedIndexChanged
        If cmbInvolucroAut.Text.Equals("invólucro de segurança") Then
            txtInvolucroAut.Visible = True
            lbAut.Visible = True
        Else
            txtInvolucroAut.Visible = False
            lbAut.Visible = False
        End If

        If cmbInvolucroAut.Text.Equals(String.Empty) Then
            erro.SetError(cmbInvolucroAut, "Campo obrigatório")
        Else
            erro.SetError(cmbInvolucroAut, String.Empty)
        End If
    End Sub

    Private Sub rbSim_CheckedChanged(sender As Object, e As EventArgs) Handles rbSim.CheckedChanged
        If rbSim.Checked Then
            erro.SetError(txtPesoIC, String.Empty)
            txtPesoIC.Text = String.Empty
            fracionar = True
            grpDrogaIC.Visible = True
            grpDrogaIC.Enabled = True
        Else
            fracionar = False
            grpDrogaIC.Visible = False
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        pnlInvolucro.Visible = False
        habilitaPainelInferior(True)
    End Sub

    Private Sub txtInvolucroIC_KeyUp(sender As Object, e As KeyEventArgs) Handles txtInvolucroIC.KeyUp

        If txtInvolucroIC.Text.Length > 4 Then
            erro.SetError(txtInvolucroIC, String.Empty)
        Else
            erro.SetError(txtInvolucroIC, "Campo obrigatório")
        End If
    End Sub

    Private Sub txtInvolucroAut_KeyUp(sender As Object, e As KeyEventArgs) Handles txtInvolucroAut.KeyUp
        If txtInvolucroAut.Text.Length > 4 Then
            erro.SetError(txtInvolucroAut, String.Empty)
        Else
            erro.SetError(txtInvolucroAut, "Campo obrigatório")
        End If
    End Sub

End Class

